package com.jeethink.gs.mapper;

import com.jeethink.gs.domain.GsTask;
import com.jeethink.gs.domain.GsTaskDTO2;
import com.jeethink.gs.domain.dto.GsTaskDTO1;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 任务Mapper接口
 * 
 * @author jeethink
 * @date 2022-08-08
 */
public interface GsTaskMapper 
{
    /**
     * 获取任务发布列表
     * @author Hyunjin
     * @date 12:03 2022/8/8
     * @param taskName
     * @return java.util.List<com.jeethink.gs.domain.dto.GsTaskDTO1>
     **/
    public List<GsTaskDTO1> getTaskPublishing(@Param("taskName") String taskName);

    /**
     * 获取任务填报列表
     * @author Hyunjin
     * @date 12:03 2022/8/8
     * @param taskType
     * @param taskStartTime
     * @return java.util.List<com.jeethink.gs.domain.dto.GsTaskDTO1>
     **/
    public List<GsTaskDTO1> getTaskWrite(@Param("taskType") String taskType,@Param("taskStartTime") String taskStartTime);

    /**
     * 获取任务填报审核列表
     * @author Hyunjin
     * @date 12:03 2022/8/8
     * @param taskType
     * @param taskStartTime
     * @return java.util.List<com.jeethink.gs.domain.dto.GsTaskDTO1>
     **/
    public List<GsTaskDTO1> getTaskWriteExamine(@Param("taskType") String taskType,@Param("taskStartTime") String taskStartTime);

    /**
     * 查询任务
     * 
     * @param id 任务ID
     * @return 任务
     */
    public GsTask selectGsTaskById(String id);

    /**
     * 修改任务状态
     * @author Hyunjin
     * @date 17:23 2022/8/9
     * @param taskState
     * @return java.lang.Integer
     **/
    public Integer updateTaskByState(@Param("taskState") String taskState,@Param("id") String id);

    /**
     * 查询任务列表
     * 
     * @param gsTask 任务
     * @return 任务集合
     */
    public List<GsTask> selectGsTaskList(GsTask gsTask);

    /**
     * 新增任务
     * 
     * @param gsTask 任务
     * @return 结果
     */
    public int insertGsTask(GsTaskDTO2 gsTask);

    /**
     * 修改任务
     * 
     * @param gsTask 任务
     * @return 结果
     */
    public int updateGsTask(GsTask gsTask);

    /**
     * 删除任务
     * 
     * @param id 任务ID
     * @return 结果
     */
    public int deleteGsTaskById(String id);

    /**
     * 批量删除任务
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteGsTaskByIds(String[] ids);
}
